class Local {
    constructor() {
        this.initLo();
    }
    setData(key, value) { // 保存键值对到本地
        if (typeof value === 'string') {
            return localStorage.setItem(key, value);
        }
        try {
            localStorage.setItem(key, JSON.stringify(value));
        } catch (err) {
            return err;
        }
    }
    getData(key) { // 获取指定key的数据
        const value = localStorage.getItem(key);
        try {
            return JSON.parse(value);
        } catch (err) {
            return value;
        }
    }
    removeData(key) { // 删除指定key的数据
        return localStorage.removeItem(key);
    }
    clearData() { // 删除所有的本地数据
        return localStorage.clear();
    }
    initLo() { // 初始化
        if (!window.localStorage) {
            throw new Error("浏览器不支持 localstorage 本地存储！！！")
        }
    }
}

(function local(local = 'local') {
    var local_ = local;
    if (window[local]) return alert('属性名重复！！'), console.log('属性名重复！！');
    try {
        window[local_] = new Local();
        console.log('封装本地存储成功，可以直接使用 ' + local_ + ' 对象来操作本地存储数据！')
    } catch (err) {
        console.log(err)
        return err;
    }
})()